package plugin;

import java.net.HttpURLConnection;
import java.net.Proxy;
import java.net.URL;

import pl.druminski.robinhood.plugininterface.Plugin;

/**
 * @author Łukasz Drumiński
 * 
 */
public class Pajacyk implements Plugin
{

    private String name = "pajacyk";
    private double version = 0.1;
    /**
     * wartosc jednego klikniecia w groszach, w przypadku pajacyka
     * jedno klikniecie równa sie 5 groszy
     *
     */
    private int valueOfOneClickInPennies = 5;
    private URL url = null;
    private HttpURLConnection urlConnection = null;
    private int clicks = 0;

    public String getName()
    {
        return name;
    }

    public int Run(Proxy[] tabProxy)
    {
        clicks = 0;

        int steps = 0;
        if (tabProxy != null)
        {
            steps = tabProxy.length;
        }

        try
        {
            url = new URL("http://pajacyk.pl/zlicz.php");
        } catch (Exception ex)
        {
        }

        for (int i = -1; i < steps; i++)
        {


            if (i == -1)
            {
                //polacz sie ze strona www bezposrednio przez lokalne ip
                try
                {
                    urlConnection = (HttpURLConnection) url.openConnection();

                } catch (Exception ex)
                {
                }

            } else
            {
                //polacz sie ze strona www przez proxy
                try
                {
                    urlConnection = (HttpURLConnection) url.openConnection(tabProxy[i]);

                } catch (Exception ex)
                {
                }
            }

            //wykonaj skrypt php na stronie
            try
            {

                urlConnection.getContent();
            } catch (Exception e)
            {
            }
            
            //sprawdz czy klikniecie zostalo zaakceptowane
            if (urlConnection.getURL().getPath().equals("/dziekujemy.php") )
            {
                clicks++;
            }
        }

        return clicks;
    }

    public int getValueOfOneClickInPennies()
    {
        return valueOfOneClickInPennies;
    }

    public double getVersion()
    {
        return version;
    }
}
